二叉樹反轉

  • 操作給定的二叉樹,將其變換爲源二叉樹的鏡像。
  • 思路,建立兩個函數,主函數負責遍歷二叉樹,子函數負責對節點進行轉置。so easy!
/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};*/
class Solution {
public:
    //一個子函數負責轉置 一個負責遍歷節點
    void Mirror(TreeNode *pRoot) {   //先序遍歷

        if(!pRoot)
            return ;
        Transposition(pRoot);
        Mirror(pRoot->left);
        Mirror(pRoot->right);
    }
    
    void Transposition(TreeNode *point)
    {
        if(point)
        {
            TreeNode* temp = point->right;
            point->right=point->left;
            point->left=temp;
        }
        
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章